package com.smcdd.cdb.dbo.cdb_dbo.network;

import com.smcdd.cdb.dbo.cdb_dbo.service.entity.AllInfo;
import com.smcdd.cdb.dbo.cdb_dbo.service.entity.AllInfo_vT;
import com.smcdd.cdb.dbo.cdb_dbo.service.entity.AllUser;
import com.smcdd.cdb.dbo.cdb_dbo.service.entity.BaseResponseEntity;
import com.smcdd.cdb.dbo.cdb_dbo.service.entity.CdbInfo;
import com.smcdd.cdb.dbo.cdb_dbo.service.entity.Charging;
import com.smcdd.cdb.dbo.cdb_dbo.service.entity.CommistionHistory;
import com.smcdd.cdb.dbo.cdb_dbo.service.entity.DayShop;
import com.smcdd.cdb.dbo.cdb_dbo.service.entity.Function;
import com.smcdd.cdb.dbo.cdb_dbo.service.entity.Functions;
import com.smcdd.cdb.dbo.cdb_dbo.service.entity.Hardware_report;
import com.smcdd.cdb.dbo.cdb_dbo.service.entity.HistoryTc;
import com.smcdd.cdb.dbo.cdb_dbo.service.entity.HistoryTcV3;
import com.smcdd.cdb.dbo.cdb_dbo.service.entity.HistoryTcVT;
import com.smcdd.cdb.dbo.cdb_dbo.service.entity.Login;
import com.smcdd.cdb.dbo.cdb_dbo.service.entity.LoginCode;
import com.smcdd.cdb.dbo.cdb_dbo.service.entity.MainTenance;
import com.smcdd.cdb.dbo.cdb_dbo.service.entity.MeHistory;
import com.smcdd.cdb.dbo.cdb_dbo.service.entity.Page;
import com.smcdd.cdb.dbo.cdb_dbo.service.entity.ParseCode;
import com.smcdd.cdb.dbo.cdb_dbo.service.entity.Simple;
import com.smcdd.cdb.dbo.cdb_dbo.service.entity.Statistics;
import com.smcdd.cdb.dbo.cdb_dbo.service.entity.StoreInfo;
import com.smcdd.cdb.dbo.cdb_dbo.service.entity.StoreInfoV2;
import com.smcdd.cdb.dbo.cdb_dbo.service.entity.StoreList;
import com.smcdd.cdb.dbo.cdb_dbo.service.entity.Tain;
import com.smcdd.cdb.dbo.cdb_dbo.service.entity.Tain_v2;
import com.smcdd.cdb.dbo.cdb_dbo.service.entity.Tel;
import com.smcdd.cdb.dbo.cdb_dbo.service.entity.ToDayCdbInfo;
import com.smcdd.cdb.dbo.cdb_dbo.service.entity.UpdateVersion;
import com.smcdd.cdb.dbo.cdb_dbo.service.entity.UploadImage;
import com.smcdd.cdb.dbo.cdb_dbo.service.maneger.NetWorkCodeInfo;

import java.util.List;
import java.util.Map;

import okhttp3.RequestBody;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.Field;
import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.Part;
import retrofit2.http.PartMap;
import rx.Observable;

/**
 * 作者：Administrator on 2017/6/8 11:03
 * 邮箱：zhanghuaiha@gmail.com
 */

public interface RetrofitService {

    //获取最新版本
    @POST("/nothing/market"+NetWorkCodeInfo.VERSION)
    @FormUrlEncoded
    Observable<UpdateVersion> getVersion(@Field("rf") String rf,
                                         @Field("ts") String ts,
                                         @Field("v") String v,
                                         @Field("i") String i,
                                         @Field("udid") String udid,
                                         @Field("encry") String encry);

    //获取最新版本
    @POST("/nothing/market"+NetWorkCodeInfo.VERSION)
    @FormUrlEncoded
    Observable<BaseResponseEntity<UpdateVersion>> getVersion(@FieldMap Map<String,String> map);

    //获取所有用户
    @POST("/nothing/market"+NetWorkCodeInfo.ALL)
    @FormUrlEncoded
    Observable<BaseResponseEntity<List<AllUser>>> getAllUser(@FieldMap Map<String,String> map);


    //获取硬件版本
    @POST("/nothing/market"+NetWorkCodeInfo.FIRMWARE)
    @FormUrlEncoded
    Observable<BaseResponseEntity<Integer>> getFirmware(@Field("rf") String rf,
                                         @Field("ts") String ts,
                                         @Field("v") String v,
                                         @Field("i") String i,
                                         @Field("udid") String udid,
                                         @Field("encry") String encry);


    //获取验证码
    @POST("/nothing/market"+NetWorkCodeInfo.CODE)
    @FormUrlEncoded
    Observable<BaseResponseEntity<String>> getCode(@FieldMap Map<String,String> map);

    //登入
    @POST("/nothing/market"+ NetWorkCodeInfo.LOGIN)
    @FormUrlEncoded
    Observable<BaseResponseEntity<Login>> login(@Field("rf") String rf,
                            @Field("ts") String ts,
                            @Field("v") String v,
                            @Field("i") String i,
                            @Field("udid") String udid,
                            @Field("mobile") String mobile,
                            @Field("code") String code,
                            @Field("device_type") String device_type,
                            @Field("brand") String brand,
                            @Field("model") String model,
                            @Field("version_sdk") String version_sdk,
                            @Field("version_release") String version_release,
                            @Field("software_version") String software_version,
                            @Field("encry") String encry);

    //判断当前电话号码是否可用
    @POST("/nothing/market"+NetWorkCodeInfo.TEL)
    @FormUrlEncoded
    Observable<Tel> getTel(@Field("rf") String rf,
                            @Field("ts") String ts,
                            @Field("v") String v,
                            @Field("i") String i,
                            @Field("udid") String udid,
                            @Field("mobile") String mobile,
                            @Field("encry") String encry);



    //判断当前电话号码是否可用
    @POST("/nothing/market"+NetWorkCodeInfo.TEL)
    @FormUrlEncoded
    Observable<BaseResponseEntity> getDemo(@Field("rf") String rf,
                                                   @Field("ts") String ts,
                                                   @Field("v") String v,
                                                   @Field("i") String i,
                                                   @Field("udid") String udid,
                                                   @Field("mobile") String mobile,
                                                   @Field("encry") String encry);


    //获取9宫格数据
    @POST("/nothing/market"+NetWorkCodeInfo.FUNCTIONS)
    @FormUrlEncoded
    Observable<Functions> getFunctions(@Field("rf") String rf,
                                       @Field("ts") String ts,
                                       @Field("v") String v,
                                       @Field("i") String i,
                                       @Field("udid") String udid,
                                       @Field("eid") String eid,
                                       @Field("encry") String encry);

    //获取9宫格数据
    @POST("/nothing/market"+NetWorkCodeInfo.FUNCTIONS)
    @FormUrlEncoded
    Observable<BaseResponseEntity<List<Function>>> getFunction(@FieldMap Map<String,String> map);


    //获取待维护
    @POST("/nothing/market"+NetWorkCodeInfo.MAINTENANCE_PAGE)
    @FormUrlEncoded
    Observable<BaseResponseEntity<List<Tain>>> getTain(@FieldMap Map<String,String> map);

    //获取待维护 V2
    @POST("/nothing/market"+NetWorkCodeInfo.MAINTENANCE_PAGE_V2)
    @FormUrlEncoded
    Observable<BaseResponseEntity<List<Tain_v2>>> getTain_v2(@FieldMap Map<String,String> map);


    //扫一扫数据解析
    @POST("/nothing/market"+NetWorkCodeInfo.PARSE)
    @FormUrlEncoded
    Observable<ParseCode> getParse(@Field("rf") String rf,
                                       @Field("ts") String ts,
                                       @Field("v") String v,
                                       @Field("i") String i,
                                       @Field("udid") String udid,
                                       @Field("eid") String eid,
                                       @Field("qrcode") String qrcode,
                                       @Field("encry") String encry);


    //扫一扫数据解析 V2
    @POST("/nothing/market"+NetWorkCodeInfo.PARSE_v2)
    @FormUrlEncoded
    Observable<BaseResponseEntity<ParseCode>> getParse(@FieldMap Map<String,String> map);

    //获取密码
    @POST("/nothing/market"+NetWorkCodeInfo.GET_PASSWORD)
    @FormUrlEncoded
    Observable<BaseResponseEntity<List<Integer>>> get_passWord(@FieldMap Map<String,String> map);

    //再次获取密码
    @POST("/nothing/market"+NetWorkCodeInfo.AGAIN_PASSWORD)
    @FormUrlEncoded
    Observable<BaseResponseEntity<List<Integer>>> again_password(@FieldMap Map<String,String> map);


    //寄回工厂
    @POST("/nothing/market"+NetWorkCodeInfo.SEND_FACTORY)
    @FormUrlEncoded
    Observable<BaseResponseEntity<String>> getSend_factory(@Field("rf") String rf,
                                            @Field("ts") String ts,
                                            @Field("v") String v,
                                            @Field("i") String i,
                                            @Field("udid") String udid,
                                            @Field("alias") String alias,
                                            @Field("eid") String eid,
                                            @Field("encry") String encry);

    //获取设备硬件故障
    @POST("/nothing/market"+NetWorkCodeInfo.GET_HARDWARE_REPORT)
    @FormUrlEncoded
    Observable<BaseResponseEntity<Hardware_report>> get_hardware_report(@Field("rf") String rf,
                                                                        @Field("ts") String ts,
                                                                        @Field("v") String v,
                                                                        @Field("i") String i,
                                                                        @Field("udid") String udid,
                                                                        @Field("alias") String alias,
                                                                        @Field("eid") String eid,
                                                                        @Field("encry") String encry);


    //wifi配置
    @POST("/nothing/market"+NetWorkCodeInfo.START_CHARGING)
    @FormUrlEncoded
    Observable<BaseResponseEntity<String>> getStart2charging(@Field("rf") String rf,
                                                             @Field("ts") String ts,
                                                             @Field("v") String v,
                                                             @Field("i") String i,
                                                             @Field("udid") String udid,
                                                             @Field("alias") String alias,
                                                             @Field("eid") String eid,
                                                             @Field("encry") String encry);



    //查询设备固件版本
    @POST("/nothing/market"+NetWorkCodeInfo.QUERY_SV)
    @FormUrlEncoded
    Observable<BaseResponseEntity<String>> getQuery_sv(@Field("rf") String rf,
                                                     @Field("ts") String ts,
                                                     @Field("v") String v,
                                                     @Field("i") String i,
                                                     @Field("udid") String udid,
                                                     @Field("eid") String eid,
                                                     @Field("alias") String alias,
                                                     @Field("encry") String encry);

    //更新设备固件版本
    @POST("/nothing/market"+NetWorkCodeInfo.UPDATE_SV)
    @FormUrlEncoded
    Observable<BaseResponseEntity<String>> getUpdate_sv(@Field("rf") String rf,
                                                       @Field("ts") String ts,
                                                       @Field("v") String v,
                                                       @Field("i") String i,
                                                       @Field("udid") String udid,
                                                       @Field("eid") String eid,
                                                       @Field("alias") String alias,
                                                       @Field("encry") String encry);



    //激活设备
    @POST("/nothing/market"+NetWorkCodeInfo.ACTIVATION)
    @FormUrlEncoded
    Observable<BaseResponseEntity> getActivation(@Field("rf") String rf,
                                            @Field("ts") String ts,
                                            @Field("v") String v,
                                            @Field("i") String i,
                                            @Field("udid") String udid,
                                            @Field("eid") String eid,
                                            @Field("alias") String alias,
                                            @Field("name") String name,
                                            @Field("remark") String remark,
                                            @Field("store_info_id") String store_info_id,
                                            @Field("encry") String encry);

    //激活设备
    @POST("/nothing/market"+NetWorkCodeInfo.ACTIVATION)
    @FormUrlEncoded
    Observable<BaseResponseEntity> getActivation(@FieldMap Map<String,String> map);

    //激活设备
    @POST("/nothing/market"+NetWorkCodeInfo.PAGER_BC)
    @FormUrlEncoded
    Observable<BaseResponseEntity> UploadPaper(@FieldMap Map<String,String> map);

    //获取商家信息
    @POST("/nothing/market"+NetWorkCodeInfo.STORE)
    @FormUrlEncoded
    Observable<StoreInfo> getStoreInfo(@Field("rf") String rf,
                                       @Field("ts") String ts,
                                       @Field("v") String v,
                                       @Field("i") String i,
                                       @Field("udid") String udid,
                                       @Field("eid") String eid,
                                       @Field("page_size") String page_size,
                                       @Field("page_index") String page_index,
                                       @Field("status") String status,
                                       @Field("encry") String encry);

    //获取商家信息
    @POST("/nothing/market"+NetWorkCodeInfo.STORE)
    @FormUrlEncoded
    Observable<StoreInfo> getStoreInfo(@FieldMap Map<String,String> map);

    //所属设备
    @POST("/nothing/market"+NetWorkCodeInfo.CHARGING_PAGE)
    @FormUrlEncoded
    Observable<Charging> getCharging2Page(@Field("rf") String rf,
                                          @Field("ts") String ts,
                                          @Field("v") String v,
                                          @Field("i") String i,
                                          @Field("udid") String udid,
                                          @Field("id") String id,
                                          @Field("eid") String eid,
                                          @Field("page_size") String page_size,
                                          @Field("page_index") String page_index,
                                          @Field("encry") String encry);

    //设备撤回
    @POST("/nothing/market"+NetWorkCodeInfo.WITHDRAW)
    @FormUrlEncoded
    Observable<BaseResponseEntity<String>> getWithdraw(@Field("rf") String rf,
                                    @Field("ts") String ts,
                                    @Field("v") String v,
                                    @Field("i") String i,
                                    @Field("udid") String udid,
                                    @Field("alias") String alias,
                                    @Field("eid") String eid,
                                    @Field("encry") String encry);

    //硬件故障
    @POST("/nothing/market"+NetWorkCodeInfo.HARDWARE_FAULT)
    @FormUrlEncoded
    Observable<BaseResponseEntity> getHardware(@Field("rf") String rf,
                                    @Field("ts") String ts,
                                    @Field("v") String v,
                                    @Field("i") String i,
                                    @Field("udid") String udid,
                                    @Field("alias") String alias,
                                    @Field("eid") String eid,
                                    @Field("content") String content,
                                    @Field("encry") String encry);


    //删除
    @POST("/nothing/market"+NetWorkCodeInfo.DELETE)
    @FormUrlEncoded
    Observable<BaseResponseEntity> getDelete(@Field("rf") String rf,
                                          @Field("ts") String ts,
                                          @Field("v") String v,
                                          @Field("i") String i,
                                          @Field("udid") String udid,
                                          @Field("id") String id,
                                          @Field("eid") String eid,
                                          @Field("encry") String encry);
    //将店铺设为已铺设
    @POST("/nothing/market"+NetWorkCodeInfo.ALREADY_LAID)
    @FormUrlEncoded
    Observable<BaseResponseEntity> getLaid(@Field("rf") String rf,
                                  @Field("ts") String ts,
                                  @Field("v") String v,
                                  @Field("i") String i,
                                  @Field("udid") String udid,
                                  @Field("id") String id,
                                  @Field("eid") String eid,
                                  @Field("encry") String encry);
    //将店铺设为待铺设
    @POST("/nothing/market"+NetWorkCodeInfo.ALREADY_STAY)
    @FormUrlEncoded
    Observable<BaseResponseEntity> getStay(@FieldMap Map<String,String> map);

    //所属店铺
    @POST("/nothing/market"+NetWorkCodeInfo.STORE)
    @FormUrlEncoded
    Observable<StoreInfo> getStoreInfos(@Field("rf") String rf,
                                       @Field("ts") String ts,
                                       @Field("v") String v,
                                       @Field("i") String i,
                                       @Field("udid") String udid,
                                       @Field("eid") String eid,
                                       @Field("page_size") String page_size,
                                       @Field("page_index") String page_index,
                                       @Field("encry") String encry);
    //所属店铺
    @POST("/nothing/market"+NetWorkCodeInfo.STORE)
    @FormUrlEncoded
    Observable<BaseResponseEntity<List<StoreInfoV2>>> getStoreInfos(@FieldMap Map<String,String> map);

    //新增门店
    @POST("/nothing/market"+NetWorkCodeInfo.INSERT)
    @FormUrlEncoded
    Observable<BaseResponseEntity> insert(@Field("rf") String rf,
                                        @Field("ts") String ts,
                                        @Field("v") String v,
                                        @Field("i") String i,
                                        @Field("udid") String udid,
                                        @Field("eid") String eid,
                                        @Field("name") String name,
                                        @Field("contact") String contact,
                                        @Field("tel") String tel,
                                        @Field("latitude") String latitude,
                                        @Field("longitude") String longitude,
                                        @Field("province_id") String province_id,
                                        @Field("city_id") String city_id,
                                        @Field("area_id") String area_id,
                                        @Field("specific_address") String specific_address,
                                        @Field("province_name") String province_name,
                                        @Field("city_name") String city_name,
                                        @Field("area_name") String area_name,
                                        @Field("position") String position,
                                        @Field("position_name") String position_name,
                                        @Field("img_url") String img_url,
                                        @Field("from_type") String from_type,
                                        @Field("remark") String remark,
                                        @Field("encry") String encry);

    //上次图片  废弃
    @POST("/nothing/market"+NetWorkCodeInfo.UPLOAD_IMAGE)
    @Multipart
    Observable<UploadImage> uploadImage(@Part("encry") String encry,
                                        @Part("i") String i,
                                        @Part("rf") String rf,
                                        @Part("ts") String ts,
                                        @Part("udid") String udid,
                                        @Part("v") String v,
                                        @PartMap Map<String, RequestBody> params);

    //上传图片
    @POST("/nothing/market"+NetWorkCodeInfo.UPLOAD_IMAGE)
    @Multipart
    Observable<UploadImage> uploadImages(@PartMap Map<String, RequestBody> params);


    //更新门店
    @POST("/nothing/market"+NetWorkCodeInfo.UPDATE)
    @FormUrlEncoded
    Observable<BaseResponseEntity> update(@Field("rf") String rf,
                           @Field("ts") String ts,
                           @Field("v") String v,
                           @Field("i") String i,
                           @Field("udid") String udid,
                           @Field("id") String id,
                           @Field("eid") String eid,
                           @Field("name") String name,
                           @Field("contact") String contact,
                           @Field("tel") String tel,
                           @Field("latitude") String latitude,
                           @Field("longitude") String longitude,
                           @Field("province_id") String province_id,
                           @Field("city_id") String city_id,
                           @Field("area_id") String area_id,
                           @Field("specific_address") String specific_address,
                           @Field("province_name") String province_name,
                           @Field("city_name") String city_name,
                           @Field("area_name") String area_name,
                           @Field("position") String position,
                           @Field("position_name") String position_name,
                           @Field("img_url") String img_url,
                           @Field("from_type") String from_type,
                           @Field("remark") String remark,
                           @Field("encry") String encry);

    //所属店铺
    @POST("/nothing/market"+NetWorkCodeInfo.STORE_LIST)
    @FormUrlEncoded
    Observable<StoreInfo> getStoreList(@Field("rf") String rf,
                                        @Field("ts") String ts,
                                        @Field("v") String v,
                                        @Field("i") String i,
                                        @Field("udid") String udid,
                                        @Field("eid") String eid,
                                        @Field("page_size") String page_size,
                                        @Field("page_index") String page_index,
                                        @Field("encry") String encry);

    //首页数据统计
    @POST("/nothing/market"+NetWorkCodeInfo.STATISTICS)
    @FormUrlEncoded
    Observable<StoreList> getStatistics(@Field("rf") String rf,
                                        @Field("ts") String ts,
                                        @Field("v") String v,
                                        @Field("i") String i,
                                        @Field("udid") String udid,
                                        @Field("eid") String eid,
                                        @Field("encry") String encry);

    //首页数据统计
    @POST("/nothing/market"+NetWorkCodeInfo.MESSAGE_STATUS)
    @FormUrlEncoded
    Observable<BaseResponseEntity<String>> getMessage(@Field("rf") String rf,
                                        @Field("ts") String ts,
                                        @Field("v") String v,
                                        @Field("i") String i,
                                        @Field("udid") String udid,
                                        @Field("message_id") String message_id,
                                        @Field("encry") String encry);

    //首页数据统计
    @POST("/nothing/market"+NetWorkCodeInfo.MESSAGE_STATUS)
    @FormUrlEncoded
    Observable<BaseResponseEntity<String>> getMessage(@FieldMap Map<String,String> map);


    //门店历史数据
    @POST("/nothing/market"+NetWorkCodeInfo.SIMPLE_PAGE)
    @FormUrlEncoded
    Observable<BaseResponseEntity<List<Simple>>> getSimple(@Field("rf") String rf,
                                                           @Field("ts") String ts,
                                                           @Field("v") String v,
                                                           @Field("i") String i,
                                                           @Field("udid") String udid,
                                                           @Field("eid") String eid,
                                                           @Field("page_size") String page_size,
                                                           @Field("page_index") String page_index,
                                                           @Field("encry") String encry);
    @POST("/nothing/market"+NetWorkCodeInfo.SIMPLE_PAGE)
    Observable<BaseResponseEntity<Simple>> getSimple(@Body RequestBody requestBody);


    //统计报表
    @POST("/nothing/market"+NetWorkCodeInfo.STATISTICS_STORE)
    @FormUrlEncoded
    Observable<BaseResponseEntity<List<Statistics>>> getStatistics_store(@Field("rf") String rf,
                                                               @Field("ts") String ts,
                                                               @Field("v") String v,
                                                               @Field("i") String i,
                                                               @Field("udid") String udid,
                                                               @Field("eid") String eid,
                                                               @Field("sid") String sid,
                                                               @Field("start_date") String start_date,
                                                               @Field("end_date") String end_date,
                                                               @Field("encry") String encry);

    //查询设备详情
    @POST("/nothing/market"+NetWorkCodeInfo.GETCDB_INFO)
    @FormUrlEncoded
    Observable<BaseResponseEntity<CdbInfo>> getCdb_info(@Field("rf") String rf,
                                                        @Field("ts") String ts,
                                                        @Field("v") String v,
                                                        @Field("i") String i,
                                                        @Field("udid") String udid,
                                                        @Field("eid") String eid,
                                                        @Field("alias") String alias,
                                                        @Field("encry") String encry);
    //手动输入查询设备详情
    @POST("/nothing/market"+NetWorkCodeInfo.GETCDB_INFO_INPUT)
    @FormUrlEncoded
    Observable<BaseResponseEntity<CdbInfo>> getCdb_info_input(@FieldMap Map<String,String> map);


    //更改灯光状态
    @POST("/nothing/market" + NetWorkCodeInfo.GREEN_LIGHTING)
    @FormUrlEncoded
    Observable<BaseResponseEntity<String>> getGreen_lighting(@Field("rf") String rf,
                                                        @Field("ts") String ts,
                                                        @Field("v") String v,
                                                        @Field("i") String i,
                                                        @Field("udid") String udid,
                                                        @Field("alias") String alias,
                                                        @Field("eid") String eid,
                                                        @Field("status") String status,
                                                        @Field("encry") String encry);
    //变更设备
    @POST("/nothing/market" + NetWorkCodeInfo.UPDATE_CDB)
    @FormUrlEncoded
    Observable<BaseResponseEntity<String>> getUpdate_cdb(@Field("rf") String rf,
                                                         @Field("ts") String ts,
                                                         @Field("v") String v,
                                                         @Field("i") String i,
                                                         @Field("udid") String udid,
                                                         @Field("eid") String eid,
                                                         @Field("alias") String alias,
                                                         @Field("name") String name,
                                                         @Field("remark") String remark,
                                                         @Field("store_info_id") String store_info_id,
                                                         @Field("encry") String encry);

    //个人历史
    @POST("/nothing/market" + NetWorkCodeInfo.ME_HISTORY)
    @FormUrlEncoded
    Observable<BaseResponseEntity<List<MeHistory>>> getMe_History(@Field("rf") String rf,
                                                                  @Field("ts") String ts,
                                                                  @Field("v") String v,
                                                                  @Field("i") String i,
                                                                  @Field("udid") String udid,
                                                                  @Field("eid") String eid,
                                                                  @Field("start_date") String start_date,
                                                                  @Field("end_date") String end_date,
                                                                  @Field("encry") String encry);

    //个人历史提成记录
    @POST("/nothing/market" + NetWorkCodeInfo.ME_HISTORY_TC)
    @FormUrlEncoded
    Observable<BaseResponseEntity<List<HistoryTc>>> getMe_History_Tc(@Field("rf") String rf,
                                                                     @Field("ts") String ts,
                                                                     @Field("v") String v,
                                                                     @Field("i") String i,
                                                                     @Field("udid") String udid,
                                                                     @Field("eid") String eid,
                                                                     @Field("start_date") String start_date,
                                                                     @Field("end_date") String end_date,
                                                                     @Field("encry") String encry);

    //个人历史提成记录 V2
    @POST("/nothing/market" + NetWorkCodeInfo.ME_HISTORY_TC_v2)
    @FormUrlEncoded
    Observable<BaseResponseEntity<List<HistoryTcVT>>> getMe_History_Tc_v2(@Field("rf") String rf,
                                                                          @Field("ts") String ts,
                                                                          @Field("v") String v,
                                                                          @Field("i") String i,
                                                                          @Field("udid") String udid,
                                                                          @Field("eid") String eid,
                                                                          @Field("start_date") String start_date,
                                                                          @Field("end_date") String end_date,
                                                                          @Field("encry") String encry);

    //个人历史提成记录 V2
    @POST("/nothing/market" + NetWorkCodeInfo.ME_HISTORY_TC_v3)
    @FormUrlEncoded
    Observable<BaseResponseEntity<List<HistoryTcV3>>> getMe_History_Tc_v3(@Field("rf") String rf,
                                                                          @Field("ts") String ts,
                                                                          @Field("v") String v,
                                                                          @Field("i") String i,
                                                                          @Field("udid") String udid,
                                                                          @Field("eid") String eid,
                                                                          @Field("start_date") String start_date,
                                                                          @Field("end_date") String end_date,
                                                                          @Field("encry") String encry);


    //统计
    @POST("/nothing/market" + NetWorkCodeInfo.ALL_INFO)
    @FormUrlEncoded
    Observable<BaseResponseEntity<AllInfo>> getAll_info(@Field("rf") String rf,
                                                       @Field("ts") String ts,
                                                       @Field("v") String v,
                                                       @Field("i") String i,
                                                       @Field("udid") String udid,
                                                       @Field("eid") String eid,
                                                       @Field("date") String date,
                                                       @Field("encry") String encry);

    //统计
    @POST("/nothing/market" + NetWorkCodeInfo.ALL_INFO_v2)
    @FormUrlEncoded
    Observable<BaseResponseEntity<AllInfo_vT>> getAll_info_v2(@Field("rf") String rf,
                                                              @Field("ts") String ts,
                                                              @Field("v") String v,
                                                              @Field("i") String i,
                                                              @Field("udid") String udid,
                                                              @Field("eid") String eid,
                                                              @Field("date") String date,
                                                              @Field("encry") String encry);


    //统计
    @POST("/nothing/market" + NetWorkCodeInfo.ALL_INFO_v2)
    @FormUrlEncoded
    Observable<BaseResponseEntity<AllInfo_vT>> getAll_info_v2(@FieldMap Map<String,String> map);


    //店铺今日达标情况
    @POST("/nothing/market" + NetWorkCodeInfo.DAY_SHOP)
    @FormUrlEncoded
    Observable<BaseResponseEntity<List<DayShop>>> getDay_Shop(@Field("rf") String rf,
                                                        @Field("ts") String ts,
                                                        @Field("v") String v,
                                                        @Field("i") String i,
                                                        @Field("udid") String udid,
                                                        @Field("eid") String eid,
                                                        @Field("page_size") String page_size,
                                                        @Field("page_index") String page_index,
                                                        @Field("encry") String encry);
    //市场人员的历史提成 记录，按天计算
    @POST("/nothing/market" + NetWorkCodeInfo.COMMISTION_HISTORY)
    @FormUrlEncoded
    Observable<BaseResponseEntity<List<CommistionHistory>>> getCommistion(@Field("rf") String rf,
                                                                          @Field("ts") String ts,
                                                                          @Field("v") String v,
                                                                          @Field("i") String i,
                                                                          @Field("udid") String udid,
                                                                          @Field("eid") String eid,
                                                                          @Field("start_date") String page_size,
                                                                          @Field("end_date") String page_index,
                                                                          @Field("encry") String encry);

    //已安装设备分页电量排序
    @POST("/nothing/market" + NetWorkCodeInfo.PAGE)
    @FormUrlEncoded
    Observable<BaseResponseEntity<List<Page>>> getPage(@FieldMap Map<String,String> map);
    //指令：检查状态（在线）
    @POST("/nothing/market" + NetWorkCodeInfo.CHECK_STATUS)
    @FormUrlEncoded
    Observable<BaseResponseEntity<String>> getcheck_status(@FieldMap Map<String,String> map);
    //待维护店铺的 设备详情 v2
    @POST("/nothing/market" + NetWorkCodeInfo.MAINTENANCE_CHARGING)
    @FormUrlEncoded
    Observable<BaseResponseEntity<List<MainTenance>>> getmaintenance(@FieldMap Map<String,String> map);

    //待维护店铺的 设备详情 v2 当日维护设备信息
    @POST("/nothing/market" + NetWorkCodeInfo.ALREADY_MAINTENANCE_CHARGING)
    @FormUrlEncoded
    Observable<BaseResponseEntity<List<ToDayCdbInfo>>> getAlreadymaintenance(@FieldMap Map<String,String> map);


    //WIFI提交
    @POST("/wifi_set.html")
    @FormUrlEncoded
    Call<String> UploadingMac_Ver(@Field("staN") String staN,
                                @Field("staP") String staP,
                                @Field("mac") String mac,
                                @Field("ver") String ver);


}
